iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0

產品待辦清單(Product Backlog)是一切 Scrum 活動的起點,我們可以把它簡單理解成軟體需求清單的超集合,這個清單裡除了有功能性需求、非功能性需求外,還會包含技術團隊提出的需求(比如說架構調整、程式碼重構),而不只是一般意義上的「軟體需求」,為了不讓名詞產生混淆造成誤解,所以 Scrum 裡特別使用了 “Product Backlog”,產品待辦清單來區別於傳統意義上只描述客戶端所要的系統需求。

經過價值排序的待辦清單

產品待辦清單是現階段已知需求的總合,主要由產品負責人負責。同時這個清單經過排序,排序的依據,端看這個專案的目標是什麼,通常會以商業價值的高低來作排序,而在 BX(Boss Experience)導向的專案中,則會以老闆們在意程度的高底作為排序依據。誒真的啦,認真表述沒在婊述,有些專案的重點跟商業價值無關,而是跟最高薪或出錢的人開不開心有關,也就是所謂的河馬角色( HIPPO,Highest Paid Person's in Office),只要他們能夠滿足,就可以順利結束這回合,歡喜過年。

需要注意的是,由於迭代方法論的本質因素,Product Backlog 是會一直不斷變化的,在案子的生命週期裡,PO 會隨著商業條件的外在變化,利害關係人的意見潛變,進而增加、刪除、修整、重新排序產品待辦清單。你可能會覺得,這樣變來變去, RD 無所適從啊 (怒吼~)! 別擔心,一但被 Scrum Master 與開發團隊在 Plan Meeting 裡放進 Sprint Backlog 裡的項目,Scrum Master 及 PO 會鎖定並保護住至少一個 Sprint 的週期,讓開發團隊得以安心開發,這點在此先不展開,之後的文章再回來說明。

有效表達待辦清單的方式-使用者故事

產品待辦清單的表達方式很多種,在 Scrum 中常用的是使用者故事(User Story,簡稱 Story)。使用者故事會描述「對使用者有價值的功能」,語句結構長的像是這樣:

身為一個 ______ ,我想要 ______ ,是為了 ______

仔細觀察,這個語句其實在講三件事:使用者類型、需求功能、背後目的:

【使用者類型】身為一個 ______

【需求功能】我想要 ______

【背後目的】是為了 _______

例如開發健身 APP 時,想要做的訊息推送功能,其中一個 User Story 就可以寫成:
身為一個 運營,我想要 推訊息給太久沒使用的用戶,是為了 激活用戶回來運動

另一個例子,開發購物 APP 時,想要做快速多筆一起結帳的功能,可以描述成:
身為一個 買家,我想要 將不同商家的商品加入同一購物車 ,是為了 節省時間(多商品可以一起結帳)

註:User Story 除了在 Scrum 中用到,在設計領域其實也會用它描述設計需求,不過顆粒度相較 Scrum 裡會大上許多,有興趣的朋友請參考 Rson 去年的鐵人賽文章 <User Story 與 UX / UI 設計流程>

不需過於拘泥描述方式

接下來這段是 Rson 自己實務上的一些做法,可能和書上或 “Hardcore” 的 Scrum 觀念有點出入,大家參考看看。

許多朋友可能會認為產品待辦清單裡就是一堆的使用者故事所組成,所以每個 Story 都要照著語句文法,寫的很詳細,其實不然,有時候仍可依需適時的作調整變形。像是若經常需要使用 Jira 看 Sprint 的需求,傳統 Story 的語句描述方式其實不利於 PO / Scrum Master 在 Jira 上「掃視」,快速掌握大的輪廓。

https://ithelp.ithome.com.tw/upload/images/20221003/20105528CDnQV259o7.jpg

我自己的作法是會將 Story 的名稱做精簡,愈是關鍵字放愈前面,並且只表達 What。但 Story 的精神是不只要傳達 What(做什麼),還想能夠傳達 Who(什麼類型的用戶需要這個功能),以及 Why (What 只是手段/方法,更重要的是背後的目的為何)。為了方便掃視而在第一層就被精簡了的 Story ,實在很可惜,所幸 Jira 的每張卡中都能附加描述,我們就能將完整的語句陳述寫在描述中,讓工程師除了知道要開發什麼,也能知道這功能的使用者是誰、以及他們為何需要。

https://ithelp.ithome.com.tw/upload/images/20221003/20105528rsssSpa2fq.jpg

好的使用者故事原則

使用者故事的拆分方式及寫法,每個人的觀點、習慣都不一樣,業界的 Scrum 大師與前輩們留下了一些智慧經驗,稱做 INVEST 原則:

  • Independent-使用者故事應盡可能獨立。
  • Negotiable-使用者故事不是合約,也不是詳細規格。它們的目的是開發時得以討論和協作,進而能夠漸漸澄清細節。
  • Valuable-要從價值的角度切入,同時也該以使用者的口氣撰寫(而非開發者),與任務(Task)不同,一個 Story 對於用戶來說能夠提供至少一個價值。
  • Estimable – 使用者故事要提供足夠的資訊,讓工程師可以進行大致估算(但又不能過於詳細)。
  • Small – 使用者故事的顆粒度不能太大,過大的故事需要再拆解。(但要小心也不能小到太細碎囉嗦)
  • Testable - 使用者故事需要可被測試,需提供一些必要訊息。

上一篇
Day 17. Scrum 活動框架、流程介紹與衝剌週期
下一篇
Day19. 敏捷物與他們的產地(2)-衝剌清單與產品增量
系列文
我們與敏捷的距離-30天上手產品敏捷專案管理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言